import request from '@/config/axios'

// 发票信息 VO
export interface InvoiceVO {
  userId: number // 用户ID
  enterprise: string // 企业名称
  taxNumber: string // 税号
  address: string // 企业地址
  contactPhone: string // 联系电话
  bankName: string // 开户银行
  bankAccount: string // 银行账号
  invoiceAmount: number // 开票金额
  invoiceType: string // 发票类型（vat-增值税/com-普通）
  status: string // 状态（applied-申请中/issued-已开票/rejected-已驳回）
  invoiceCode: string // 发票代码
  invoiceNumber: string // 发票号码
  remark: string // 备注信息
  operatorId: number // 操作人ID
  operateTime: Date // 操作时间
}

// 发票信息 API
export const InvoiceApi = {
  // 查询发票信息分页
  getInvoicePage: async (params: any) => {
    return await request.get({ url: `/system/invoice/page`, params })
  },

  // 查询发票信息详情
  getInvoice: async (id: number) => {
    return await request.get({ url: `/system/invoice/get?id=` + id })
  },

  // 新增发票信息
  createInvoice: async (data: InvoiceVO) => {
    return await request.post({ url: `/system/invoice/create`, data })
  },

  // 修改发票信息
  updateInvoice: async (data:any) => {
    return await request.put({ url: `/system/invoice/update`, data })
  },

  // 删除发票信息
  deleteInvoice: async (id: number) => {
    return await request.delete({ url: `/system/invoice/delete?id=` + id })
  },

  // 导出发票信息 Excel
  exportInvoice: async (params) => {
    return await request.download({ url: `/system/invoice/export-excel`, params })
  }
}